package io.stream;

import java.io.*;

/**
 * @Package javaSE.io.stream
 * @Author shimmer
 * @Date 2020/5/28 9:48
 * @TODO 文件输入FileInputStream
 */
public class FileStreamTest02 {
    public static void main(String[] args) {
        try {
            File file = new File("src/main/java/javaSE/io/stream/test02.txt");
            //1.创建文件输出流（创建输出出口）
            FileOutputStream fos = new FileOutputStream(file);
            //2.创建字符输出流
            //目的是以指定编码方式，将字符流转为字节流(类似于拆成零件)
            OutputStreamWriter os = new OutputStreamWriter(fos, "utf-8");
            os.append("中文");
            os.append("1234");
            os.append("zxl");
            os.close(); // 关闭写入流,同时会把缓冲区内容写入文件
            fos.close();// 关闭输出流,释放系统资源
            
            // 文件读取
            FileInputStream fis = new FileInputStream(file);
            InputStreamReader is = new InputStreamReader(fis, "utf-8");
            StringBuffer sb = new StringBuffer();
            while (is.ready()) {
                sb.append((char) is.read());
            }
            System.out.println(sb.toString());
            is.close();
            fis.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
